Fix a cornercase of menu parsing
authorMatthias Clasen <mclasen@redhat.com>
Fri, 20 Apr 2012 05:50:01 +0000 (01:50 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 20 Apr 2012 05:50:01 +0000 (01:50 -0400)
When a uimanager in a gtkbuilder file contains a menu,
the builder parser was getting confused.

https://bugzilla.gnome.org/show_bug.cgi?id=672789

gtk/gtkbuilderparser.c

index c6490ad2b23b008c81acc936edd9e88d0f88b2b0..59c072104aea652f6241989886c38440aa0cba89 100644 (file)
@@ -963,15 +963,15 @@ end_element (GMarkupParseContext *context,
   else if (strcmp (element_name, "interface") == 0)
     {
     }
-  else if (strcmp (element_name, "menu") == 0)
-    {
-      _gtk_builder_menu_end (data);
-    }
   else if (data->requested_objects && !data->inside_requested_object)
     {
       /* If outside a requested object, simply ignore this tag */
       return;
     }
+  else if (strcmp (element_name, "menu") == 0)
+    {
+      _gtk_builder_menu_end (data);
+    }
   else if (strcmp (element_name, "object") == 0)
     {
       ObjectInfo *object_info = state_pop_info (data, ObjectInfo);